/*
* Author: Chris Seguin
*
* This software has been developed under the copyleft
* rules of the GNU General Public License. Please
* consult the GNU General Public License for more
* details about use and distribution of this software.
*/
package org.acm.seguin.ide.jbuilder;
import com.borland.primetime.actions.ActionGroup;
import com.borland.primetime.ide.Browser;
import com.borland.primetime.ide.ContextActionProvider;
import com.borland.primetime.node.Node;
import javax.swing.Action;
import org.acm.seguin.ide.jbuilder.refactor.JBuilderAddChildClassAction;
import org.acm.seguin.ide.jbuilder.refactor.JBuilderAddParentClassAction;
import org.acm.seguin.ide.jbuilder.refactor.JBuilderExtractInterfaceAction;
import org.acm.seguin.ide.jbuilder.refactor.JBuilderMoveClassAction;
import org.acm.seguin.ide.jbuilder.refactor.JBuilderRemoveClassAction;
import org.acm.seguin.ide.jbuilder.refactor.JBuilderRenameClassAction;
/**
* Adds the refactorings onto the project view
*
*@author Chris Seguin
*/
public class ProjectViewRefactorings implements ContextActionProvider {
/**
* Gets the ContextAction attribute of the ProjectViewRefactorings object
*
*@param browser Description of Parameter
*@param nodes Description of Parameter
*@return The ContextAction value
*/
public Action getContextAction(Browser browser, Node[] nodes)
{
ActionGroup group = new ActionGroup("JRefactory");
group.setPopup(true);
group.add(new JBuilderRenameClassAction(nodes));
group.add(new JBuilderMoveClassAction(nodes));
group.add(new JBuilderAddParentClassAction(nodes));
group.add(new JBuilderAddChildClassAction(nodes));
group.add(new JBuilderRemoveClassAction(nodes));
group.add(new JBuilderExtractInterfaceAction(nodes));
return group;
}
}